package com.wilhelmer.managedbeans.application;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.wilhelmer.backedbeans.abstractbeans.AbstractDatabaseModel;
import com.wilhelmer.backedbeans.bauteilverwaltung.Baustelle;
import com.wilhelmer.backedbeans.bauteilverwaltung.TerminplanpositionBauteilverwaltung;

import com.wilhelmer.database.DatabaseConnection;

public class DatabaseModelGeneral extends AbstractDatabaseModel {
	
	public List<Baustelle> getListAlleBaustellen() {
		dbCon = new DatabaseConnection();
		List<Baustelle> listAlleBaustellen = new ArrayList<Baustelle>();
		String sql = "Select * from Baustelle where deaktiviert = 0";
		super.con = dbCon.getConnection();
		
		try {
			super.stmt = super.con.createStatement();
			super.rs = super.stmt.executeQuery(sql);
			
			while(super.rs.next()) {
				int aid = rs.getInt("aid");
				String kommisionsnummer = rs.getString("kommisionsnummer");
				String bauvorhaben = rs.getString("bauvorhaben");
				String strasse = rs.getString("strasse");
				String plz = rs.getString("plz");
				String ort = rs.getString("ort");
				listAlleBaustellen.add(new Baustelle(aid, kommisionsnummer, bauvorhaben, strasse, plz, ort));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return listAlleBaustellen;
	}
	
	public List<TerminplanpositionBauteilverwaltung> getListTerminplanpositionenZuBaustellen(int aid) {
		System.out.println("AID " + aid);
		List<TerminplanpositionBauteilverwaltung> listTerminplanpositionenZuBaustellen = new ArrayList<TerminplanpositionBauteilverwaltung>();
		dbCon = new DatabaseConnection();
		con = dbCon.getConnection();
		String sql = "Select tpposID, tpposName from TPPos, Baustelle " +
				"Where Baustelle.aid = "+aid+" and Baustelle.aid = TPPos.Baustelle_aid";
		
		try {
			stmt = con.createStatement();
			rs = stmt.executeQuery(sql);
			
			while(rs.next()) {
				int tpposID = rs.getInt("tpposID");
				String tpposName = rs.getString("tpposName");
				
				listTerminplanpositionenZuBaustellen.add(new TerminplanpositionBauteilverwaltung(tpposID, tpposName));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return listTerminplanpositionenZuBaustellen;
	}

}
